package com.kgc.sportscircle.dao;

import com.kgc.sportscircle.pojo.Mallproduct;
import com.kgc.sportscircle.vo.MallproductParam;
import java.util.*;
import com.kgc.sportscircle.utils.Page;
import java.io.Serializable;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import javax.validation.constraints.Digits;

/**
* 描述： 数据库访问层接口
* @author 杨海文
* @date 2019/07/22
*/
@Mapper
public interface MallproductMapper {

    /**
    * 描述：根据Id获取Mallproduct对象
    * @param id
    */
    Mallproduct findById(Integer id);
    
    /**
    * 描述：获取所有的Mallproduct对象
    */
    List<Mallproduct> findAll();

	/**
    * 描述：新增保存Mallproduct对象
    */
    int save(Mallproduct mallproduct);

	/**
    * 描述：根据Id删除Mallproduct对象
    * @param id
    */
    int delete(Serializable id);
	
	/**
    * 描述：更新Mallproduct对象
    */
    int update(Mallproduct mallproduct);
    
    /**
     * 根据不确定的条件，动态查询
     */
    List<Mallproduct> query(MallproductParam param);
    
    /**
     * 根据不确定的条件，查询总行数
     */
    int getCount(MallproductParam param);
    
    /**
     * 获得表中数据的总行数
     */
    int getTotalCount();


    /**
     * 根据推荐表查询商品
     */

    List<Mallproduct> selectAllProductByrecommend();

    /**
     * 随机查询商品
     */
    List<Mallproduct> selectAllProductRandom();

    /**
     * 查询最新商品
     */
    List<Mallproduct> selectNewProduct();

    /**
     * 根据二级分类查询商品
     */
    List<Mallproduct> selectProductByCategoryLevel2Id(Integer categoryLevel2Id);

    /**
     * 根据skuid查询商品
     */
    Mallproduct selectProductBySkuId(String skuid);
}
